package com.bojx.com.genericity;



public class Holder<T> {
	private T value;

	public Holder(T value) {
		super();
		this.value = value;
	}

	public Holder() {
		super();
	}

	public T getValue() {
		return value;
	}

	public void setValue(T value) {
		this.value = value;
	}

	@Override
	public boolean equals(Object obj) {
		return value.equals(obj);
	}
	
	public static void main(String[] args) {
		Holder<Apple> appleHolder=new Holder<Apple>(new Apple());
		Apple apple=appleHolder.getValue();
		appleHolder.setValue(apple);
		//Holder<Fruit> fruitHolder=appleHolder;
		Holder<? extends Fruit> fruitHolder=appleHolder;
	}
}
